args = arguments 任意數量的參數(前面加上一個米字號)
通常在不知道使用者會傳入多少參數的狀況下使用。
當使用米字號時,那些參數便會打包入一個tuple裡。
kwargs = 關鍵詞 + args(前面加上兩個米字號)
當使用米字號時,那些參數便會打包入一個dictionary裡。
範例1:
def add(*args):
total = 0
for arg in args:
print(f"arg: {arg}")
total += arg
return total
print(add(1, 2, 3))
範例2:
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"key: {key} value: {value}")
print_info(name = "Anna", age = "20", job = "No")
一個檔案即是一個模組,裡面包含所撰寫的程式碼。
通常我們會使用「import」關鍵字來載入一個內建或自創的模組。
範例:
import math as m #將方法取一個別名
from math import pi #可單獨引用子模組
help(m)
print(m.pi)
print(m.pow(3,2))
num = 10.7
print(m.ceil(num)) #無條件進位
print(m.floor(num)) #無條件捨去
print(m.round(num)) #math中沒有這項方法,因此顯示錯誤
變數範圍:表示變數在某個區域是可見/可訪問的
作用域:在使用一個變數時,按照一定順序去尋找變數(LEGB)
L: Local 區域
E: enclosed
G: Global 全域
B: built-in 內建函式/變數
範例:
z = 10
def fun_one():
x = 2
print("x:", x)
def fun_two():
y = 4
print("x:", x)
print("y:", y)
fun_two()
fun_one()
以上範例可分析以下幾點:
1.對於fun_one來說,x就是它的local變數;對於fun_two來說,y就是 它的local變數
2.對於fun_two來說,x就是它的enclosed(因為存取fun_one的值)
3.z就是global變數
異常(exception)處理的語法:try and except
範例2:
try:
x = int(input("請輸入整數1:"))
y = int(input("請輸入整數2:"))
print(x/y)
except ValueError:
print("請輸入整數")
except ZeroDivisionError:
print("除數不能為零")
finally:
print("請重新輸入") #無論是否異常都會執行